package 系统复习.数组;

/**
 * 给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序
 */

public class L977 {

    public static int[] sortedSquares(int[] nums) {

        int[] result = new int[nums.length];
        int index = nums.length - 1;
        int left = 0, right = nums.length - 1;
        while (left <= right) {
            if (Math.abs(nums[left]) > Math.abs(nums[right])) {
                result[index] = nums[left] * nums[left];
                left++;
            } else {
                result[index] = nums[right] * nums[right];
                right--;
            }
            index--;
        }

        return result;
    }

    public static void main(String[] args) {

        int[] nums1 = new int[]{-4,-1,0,3,10};
        int[] nums2 = new int[]{-7,-3,2,3,11};
        int[] ints = sortedSquares(nums2);
        for (int anInt : ints) {
            System.out.print(anInt + " ");
        }
    }

}
